<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"   
   xmlns:h="http://java.sun.com/jsf/html"
   xmlns:f="http://java.sun.com/jsf/core"
   xmlns:composite="http://java.sun.com/jsf/composite">
   <composite:interface name="loginComponent">
      <composite:attribute name="usernameLabel" />
      <composite:attribute name="usernameValue" />
      <composite:attribute name="passwordLabel" />
      <composite:attribute name="passwordValue" />
      <composite:attribute name="loginButtonLabel" />
      <composite:editableValueHolder name="username"></composite:editableValueHolder>
      <composite:attribute name="loginButtonAction" 
         method-signature="java.lang.String login()" />
   </composite:interface>
   <composite:implementation>
        <h:form>
         <h:message for="loginPanel" style="color:red;" />
         <h:panelGrid columns="2" id="loginPanel">
            #{cc.attrs.usernameLabel} : 
            <h:inputText id="username" value="#{cc.attrs.usernameValue}" />
            #{cc.attrs.passwordLabel} : 
            <h:inputSecret id="password" value="#{cc.attrs.passwordValue}" />
         </h:panelGrid>
         <h:commandButton action="#{cc.attrs.loginButtonAction}" 
            value="#{cc.attrs.loginButtonLabel}"/>
      	</h:form>
   </composite:implementation>
</html>